home *** CD-ROM | disk | FTP | other *** search
/ Gekkan Dennou Club 145 / Gekkan Dennou Club - 2000.6 Vol. 145 (Japan).7z / Gekkan Dennou Club - 2000.6 Vol. 145 (Japan) (Track 1).bin / tools / sharp / sxwork3.lzh / 福袋 / 注釈付ヘッダ / WINDOW.H < prev   
Text File  |  1994-02-20  |  6KB  |  207 lines

  1. /*
  2.  * window.h X68k SX_SYSTEM ver 2.01 Copyright 1994 SHARP/First Class Technology
  3.  */
  4. #ifndef __WINDOW_H
  5. #define __WINDOW_H
  6.  
  7. #ifndef __SXDEF2_H
  8. #include <sxdef2.h>
  9. #endif
  10.  
  11. #ifdef FORWORD
  12. #define __PROTO_TYPE
  13. #endif
  14. #ifdef __STDC__
  15. #define __PROTO_TYPE
  16. #endif
  17.  
  18. typedef enum WDEFRscID    WDEFRscID;    /* WDEFリソースのID        */
  19. typedef enum WDEFCommand WDEFCommand;    /* WDEFコマンド            */
  20. typedef enum WPartCode    WPartCode;    /* ウィンドウパートコード    */
  21.  
  22. typedef struct WIND    WIND;        /* ウィンドウテンプレート    */
  23. /*
  24.  *    ウィンドウマン(Window Man)
  25.  */
  26. #define W_FRONT        ((Window *) -1)    /* 画面の一番手前        */
  27.  
  28. enum WDEFRscID {            /* WDEFリソースのID        */
  29.     WI_STD        = 0x20,        /* 標準ウィンドウ        */
  30.     WI_PLN        = 0x24,        /* プレーンウィンドウ        */
  31.     WI_DLG        = 0x26,        /* ダイアログウィンドウ        */
  32.     WI_EDLG,            /* エラーダイアログウィンドウ    */
  33.     WI_STDG        = 0x30,        /* 標準ウィンドウ
  34.                        (グラフィックサポート)    */
  35.     WI_STD2,            /* タイトルの広い標準ウィンドウ    */
  36.     WI_STDG2            /* タイトルの広い標準ウィンドウ
  37.                        (グラフィックサポート、
  38.                          クローズボタンのみ)    */
  39. };
  40.  
  41. enum WDEFCommand {            /* WDEFコマンド            */
  42.     CMD_WDRAW,            /* ウィンドウの描画        */
  43.     CMD_WWHERE,            /* 指定した座標のパートの調査    */
  44.     CMD_WCALC,            /* アウト/インサイドリージョンの計算 */
  45.     CMD_WNEW,            /* ウィンドウレコードの初期化    */
  46.     CMD_WDISP,            /* ウィンドウの廃棄        */
  47.     CMD_WSIZE,            /* リサイズ時のラバーバンドの表示 */
  48.     CMD_WSBOX,            /* サイドボックスの描画        */
  49.     CMD_WFILL,            /* ウィンドウのバック塗りつぶし    */
  50.     CMD_WMOVE            /* グラフィック画面の移動    */
  51. };
  52.  
  53. enum WPartCode {            /* ウィンドウパートコード    */
  54.     W_INDESK,            /* デスクトップ(ウィンドウの外)*/
  55.     W_INSUBWIN,            /* サブウィンドウ        */
  56.     W_ININSIDE    =  3,        /* インサイドリージョン
  57.                        (ウィンドウコンテンツ)    */
  58.     W_INDRAG,            /* ドラッグリージョン
  59.                        (タイトルバーとウィンドウの枠)*/
  60.     W_INSIZE    =  6,        /* サイズボックス        */
  61.     W_INCLOSE,            /* クローズボタン        */
  62.     W_INZMOUT,            /* ズームアウト            */
  63.     W_INZMIN,            /* ズームイン            */
  64.     W_INARROW    = 13,        /* アローボタン            */
  65.     W_INCLPON,            /* クリップオン            */
  66.     W_INCLPOFF,            /* クリップオフ            */
  67.     W_INDRIVE,            /* ドライブ表示            */
  68.     W_INACTIVE    =   0,        /* インアクティブ表示        */
  69.     W_ACTIVE    = 255        /* アクティブ表示        */
  70. };
  71.  
  72. /* ウィンドウの種類 */
  73. #define W_DIALOG    0x02        /* ダイアログマンが開いたウィンドウ */
  74. #define W_USER        0x08        /* ユーザーが開いたウィンドウ    */
  75. #define W_GRAPHIC    0x10        /* ユーザーが開いたグラフィック
  76.                        サポートのウィンドウ        */
  77. #define W_SUBWIN    0x20        /* サブウィンドウ        */
  78.  
  79. /* ウィンドウオプション */
  80. #define W_SCROLL    1        /* スクロールバーとの接続    */
  81. #define W_CLIP        (1 << 1)    /* クリップの表示        */
  82. #define W_DRIVE        (1 << 2)    /* ドライブ名の表示        */
  83. #define W_SBOX        (1 << 3)    /* サイズボックスの利用        */
  84. #define W_SBOXON    (1 << 8)    /* サイズボックス状態        */
  85. #define W_ARROW        (1 << 9)    /* アローボタンの表示        */
  86. #define W_CLIPON    (1 << 15)    /* クリップ状態            */
  87.  
  88. struct WIND {                /* ウィンドウテンプレート    */
  89.     Rect bounds;            /* ウィンドウレクタングル    */
  90.     short defID;            /* リソースWDEFのID×16+オプション */
  91.     short visible;            /* 可視フラグ            */
  92.     short close;            /* クローズボタン使用フラグ    */
  93.     long taskID;            /* タスクID            */
  94.     LASCII title;            /* ウィンドウタイトル        */
  95. };
  96. /*
  97.  *    サブウィンドウマン(Sub Window Man)
  98.  */
  99. #define WS_RUBBERBAND    0xcccc        /* サブウィンドウのラバーバンド    */
  100.  
  101. #ifdef __PROTO_TYPE
  102. /*
  103.  *    ウィンドウマン(Window Man)
  104.  */
  105. int WMInit(void);
  106. Window *WMOpen(Window *, Rect *, const _LASCII, BOOLEAN, int, Window *, BOOLEAN, long);
  107. Window *WMRefer(int, Window *, Window *);
  108. int WMClose(Window *);
  109. int WMDispose(Window *);
  110. int WMFind(LPoint, Window **);
  111. int WMSelect(Window *);
  112. int WMCarry2(Window *, Window *);
  113. int WMCarry(Window *, Window *);
  114. int WMShine(Window *, int);
  115. int WMMove(Window *, LPoint, BOOLEAN);
  116. int WMSize(Window *, LPoint, BOOLEAN);
  117. LPoint WMGrow(Window *, LPoint, Rect *);
  118. int WMDrag(Window *, LPoint, Rect *);
  119. int WMZoom(Window *, int, BOOLEAN);
  120. int WMShow(Window *);
  121. int WMHide(Window *);
  122. int WMShowHide(Window *, BOOLEAN);
  123. int WMCheckBox(Window *, LPoint, int);
  124. int WMCheckCBox(Window *, LPoint);
  125. int WMDrawGBox(Window *);
  126. int WMUpdate(Window *);
  127. int WMUpdtOver(Window *);
  128. Window *WMActive(void);
  129. int WMAddRect(Rect *);
  130. int WMAddRgn(Region **);
  131. int WMSubRect(Rect *);
  132. int WMSubRgn(Region **);
  133. int WMGScriptSet(GScript **);
  134. int WMTitleSet(Window *, const _LASCII);
  135. int WMTitleGet(Window *, _LASCII);
  136. int WMTIDSet(long);
  137. long WMTIDGet(void);
  138. GScript ***WMGetDTGS(void);
  139. LPoint WMDragRgn(Region **, LPoint, Rect *, Rect *, int, void (*)());
  140. unsigned short WMOptionGet(void);
  141. void WMOptionSet(unsigned short);
  142. BOOLEAN WMPtInGBox(LPoint);
  143. /*
  144.  *    サブウィンドウマン(Sub Window Man)
  145.  */
  146. Subwin *WSOpen(Subwin *, Region **, unsigned long);
  147. int WSClose(Subwin *);
  148. int WSDispose(Subwin *);
  149. int WSEnlist(Subwin *);
  150. int WSDelist(Subwin *);
  151.  
  152. #undef __PROTO_TYPE
  153. #else
  154. /*
  155.  *    ウィンドウマン(Window Man)
  156.  */
  157. int WMInit();
  158. Window *WMOpen();
  159. Window *WMRefer();
  160. int WMClose();
  161. int WMDispose();
  162. int WMFind();
  163. int WMSelect();
  164. int WMCarry2();
  165. int WMCarry();
  166. int WMShine();
  167. int WMMove();
  168. int WMSize();
  169. LPoint WMGrow();
  170. int WMDrag();
  171. int WMZoom();
  172. int WMShow();
  173. int WMHide();
  174. int WMShowHide();
  175. int WMCheckBox();
  176. int WMCheckCBox();
  177. int WMDrawGBox();
  178. int WMUpdate();
  179. int WMUpdtOver();
  180. Window *WMActive();
  181. int WMAddRect();
  182. int WMAddRgn();
  183. int WMSubRect();
  184. int WMSubRgn();
  185. int WMGScriptSet();
  186. int WMTitleSet();
  187. int WMTitleGet();
  188. int WMTIDSet();
  189. long WMTIDGet();
  190. GScript ***WMGetDTGS();
  191. LPoint WMDragRgn();
  192. unsigned short WMOptionGet();
  193. void WMOptionSet();
  194. BOOLEAN WMPtInGBox();
  195. /*
  196.  *    サブウィンドウマン(Sub Window Man)
  197.  */
  198. Subwin *WSOpen();
  199. int WSClose();
  200. int WSDispose();
  201. int WSEnlist();
  202. int WSDelist();
  203.  
  204. #endif __PROTO_TYPE
  205.  
  206. #endif __WINDOW_H
  207.